def is_valid_line(line):
    """
    判断一行文本是否只包含数字空格，或者数据逗号空格，不包含其他东西并且不能全为空格。
    """
    stripped = line.strip()  # 去除首尾空格
    if not stripped:  # 如果全部是空格，则返回 False
        return False
    for char in stripped:
        if not (char.isdigit() or char.isspace() or char == "," or char == "."):  # 如果有非数字、空格、逗号、小数点的字符，则返回 False
            return False
    return True

def process_file(input_filename, output_filename):
    """
    逐行读取文件，并处理每一行符合要求的内容，同时将符合要求的行写入到输出文件中。
    """
    with open(input_filename) as input_file, open(output_filename, "w") as output_file:
        for line in input_file:
            if is_valid_line(line):
                # 处理符合要求的行
                processed_line = line.strip() + "\n"  # 在行末添加换行符
                output_file.write(processed_line)  # 将处理后的行写入输出文件

if __name__ == "__main__":
    # input_filename,输入你要处理的文件
    input_filename = "2_UiO-66-NH2.txt"
    # 中转文件,获取要处理数据
    output_filename = "data.txt"
    process_file(input_filename, output_filename)

    with open('data.txt', 'r') as f:  # 打开文件
        lines = f.readlines()  # 读取所有行
        with open('result.txt', 'w') as fw:  # 打开写文件的句柄
            for line in lines:
                nums = line.strip().replace(',', '').split()  # 去除首尾空格并以空格分割字符串，同时去除逗号
                num1 = float(nums[0])  # 将第一个数字转换为浮点数
                num2 = float(nums[1])  # 将第二个数字转换为浮点数

                if num1 < 10:  # 如果第一个数字小于10
                    res = f" {'%.4f' % num1}  {'%.4f' % num2}"  # 在前面加两个空格并生成两个数字的格式化字符串
                else:
                    res = f"{'%.4f' % num1}  {'%.4f' % num2}"  # 在前面加一个空格并生成两个数字的格式化字符串

                fw.write(res + '\n')  # 将结果写入文件并换行





